#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(int argc, char const *argv[])
{
    pid_t pid = -1;
    int num = 0;
    pid = fork(); //创建子进程（pid > 0父进程；pid = 0子进程）
    if (pid > 0){
        printf("父进程getpid = %d,getppid = %d\n",getpid(),getppid()); //打印父进程的pid和父进程的父进程pid
        while(1){
            printf("父进程正在运行,num = %d\n",num); //打印num数值变化，可以发现是两个不同的进程在运行
            num++;
            sleep(1);
        }
    }else if(pid == 0){
        printf("子进程getpid = %d,getppid = %d\n",getpid(),getppid()); //打印子进程的pid和子进程的父进程pid（子进程的getppid应该等于父进程的getpid）
        while(1){
            printf("子进程正在运行,num = %d\n",num); //打印num数值变化，可以发现是两个不同的进程在运行
            num += 2;
            sleep(1);
        }
    }else{
        printf("fotk failed\n"); //pid < 0 创建子进程失败
    }
    return 0;
}
